home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
Kubuntu 8.10
/
kubuntu-8.10-desktop-i386.iso
/
casper
/
filesystem.squashfs
/
etc
/
init.d
/
killprocs
< prev
next >
Wrap
Text File
|
2008-10-14
|
1KB
|
73 lines
#! /bin/sh
### BEGIN INIT INFO
# Provides: killprocs
# Required-Start: $local_fs
# Required-Stop:
# Default-Start: 1
# Default-Stop:
# Short-Description: executed by init(8) upon entering runlevel 1 (single).
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /lib/lsb/init-functions
do_start () {
# Kill all processes.
log_action_begin_msg "Asking all remaining processes to terminate"
killall5 -15 # SIGTERM
log_action_end_msg 0
alldead=""
for seq in 1 2 3 4 5 6 7 8 9 10; do
# use SIGCONT/signal 18 to check if there are
# processes left. No need to check the exit code
# value, because either killall5 work and it make
# sense to wait for processes to die, or it fail and
# there is nothing to wait for.
if killall5 -18 ; then
:
else
alldead=1
break
fi
sleep 1
done
if [ -z "$alldead" ] ; then
log_action_begin_msg "Killing all remaining processes"
killall5 -9 # SIGKILL
log_action_end_msg 1
else
log_action_begin_msg "All processes ended within $seq seconds."
log_action_end_msg 0
fi
# We start update here, since we just killed it.
if [ -x /sbin/update ] && [ "$(uname -s)" = Linux ]
then
case "$(uname -r)" in
0.*|1.*|2.[0123].*)
/sbin/update
;;
esac
fi
}
case "$1" in
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac